package thread;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 苏西西
 * Date: 2023-08-31
 * Time: 16:26
 */
//首先创造一个类命名为NCount
    class  NCount{
        //创建一个变量
        public int flag = 0;
}
public class ThreadD15 {
    public static void main(String[] args) {
        NCount nCount = new NCount();
        //创建两个线程
        Thread t1 = new Thread(() ->{
            //第一个线程之进行条件判断，设置一个循环，如果满足循环条件的时候一直执行循环体
            while (nCount.flag == 0){
                //这里不添加任何语句
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
            //如果不满足上面的while循环条件（flag的值被修改，则跳出循环）
            System.out.println("t1循环结束");
        });

        //在第二个线程里，我们来修改一下flag的值，这样就可以使t1线程不满足循环的条件。
        Thread t2 = new Thread(() -> {
            //选择从控制台进行输入
            Scanner scan = new Scanner(System.in);
            System.out.println("请手动输入一个非0的数");
            //将NCounter中的flag值修改为控制台输入进去的数字
            nCount.flag = scan.nextInt();
        });
        //运行t1和t2线程
        t1.start();
        t2.start();
    }
}
